Lock-free Serializable Transactions
نویسندگان
چکیده
Software transactional memory (STM) provides access to shared data with transactional properties. Existing STM use linearizability as their correctness criterion, although serializability allows more freedom in reordering the operations of committable transactions. Serializable transactions thus provide for more concurrency than linearizable transactions. Specifically, serializability allows read operations to increase concurrency with multiple versions of data. We present the first serializable, lock-free software transactional memory. Our STM supports dynamic transactions, provides early failure indication, requires a single interface for both read-only and read-write transactions, keeps multiple versions of objects, and allows for disjoint-access parallelism—while our implementation relies only on existing lock-free data structures. We prove the lock-free progress guarantee of our STM, and that the set of committed transactions is one-copy serializable (serializable while appearing to have only one copy of the data).
منابع مشابه
Starvation-Free Secure Multiversion Concurrency Control
Concurrency control is important for multilevel secure databases because a covert channel can be easily created through collaboration of multilevel transactions in most traditional concurrency control mechanisms. We, in this paper, propose a secure multiversion concurrency control mechanism. We present concepts of an invisible area and a t-lock to prevent retrieval anomaly and starvation of hig...
متن کاملEnsuring Serializable Executions with Snapshot Isolation DBMS
Snapshot Isolation (SI) is a multiversion concurrency control that has been implemented by open source and commercial database systems such as PostgreSQL and Oracle. The main feature of SI is that a read operation does not block a write operation and vice versa, which allows higher degree of concurrency than traditional two-phase locking. SI prevents many anomalies that appear in other isolatio...
متن کاملSerializable Snapshot Isolation in PostgreSQL
This paper describes our experience implementing PostgreSQL’s new serializable isolation level. It is based on the recently-developed Serializable Snapshot Isolation (SSI) technique. This is the first implementation of SSI in a production database release as well as the first in a database that did not previously have a lock-based serializable isolation level. We reflect on our experience and d...
متن کاملLocking Timestamps Versus Locking Objects
We present multiversion timestamp locking (MVTL), a new genre of multiversion concurrency control algorithms for serializable transactions. The key idea behind MVTL is simple and novel: lock individual time points instead of locking objects or versions. After showing what a generic MVTL algorithm looks like, we demonstrate MVTL’s expressiveness: we present several simple MVTL algorithms that ad...
متن کاملAlternative Correctness Criteria for Multiversion Concurrency Control and a Locking Protocol via Freezing
Concurrency control protocols based on multiversions have been used in some commercial transaction processing systems in order to provide the serializable executions of transactions. In the existing protocols, transactions are allowed to read only the most recent version of each data item in order to ensure the correct execution of transactions. However, this feature is not desirable in some ad...
متن کامل